#ifndef __DISPLAY_UI_H
#define __DISPLAY_UI_H

#ifdef __cplusplus
extern "C" {
#endif

#include <math.h>
#include <stdint.h>
#include <stdio.h>
#include <stdarg.h>

#include "Display.h"
#include "DisplayFont.h"

void DisplayUI_DrawPixel(uint16_t x, uint16_t y, uint16_t color);
void DisplayUI_DrawLine(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2, uint16_t color);
void DisplayUI_DrawRect(uint16_t x, uint16_t y, uint16_t w, uint16_t h, uint16_t color);
void DisplayUI_FillArea(uint16_t x, uint16_t y, uint16_t w, uint16_t h, uint16_t color);
void DisplayUI_DrawChar(uint16_t x, uint16_t y, DisplayFont_Typedef *font, uint16_t bgcolor, uint16_t fgcolor,
                        const char ch);
void DisplayUI_DrawString(uint16_t x, uint16_t y, DisplayFont_Typedef *font, uint16_t bgcolor, uint16_t fgcolor,
                          const char *str);
void DisplayUI_DrawStringFmt(uint16_t x, uint16_t y, DisplayFont_Typedef *font, uint16_t bgcolor, uint16_t fgcolor,
                             const char *fmt, ...);

#ifdef __cplusplus
};
#endif

#endif
